//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.atjg.autocat.uvccamera;

import android.hardware.usb.UsbDevice;
import android.view.Surface;
import android.view.SurfaceView;
import android.view.TextureView;

import com.atjg.autocat.uvccamera.callback.ConnectCallback;
import com.atjg.autocat.uvccamera.callback.PhotographCallback;
import com.atjg.autocat.uvccamera.callback.PictureCallback;
import com.atjg.autocat.uvccamera.callback.PreviewCallback;
import com.atjg.autocat.uvccamera.config.CameraConfig;
import com.serenegiant.usb.Size;
import com.serenegiant.usb.UVCCamera;

import java.util.List;

public interface IUVCCamera {
    void registerReceiver();

    void unregisterReceiver();

    void checkDevice();

    void requestPermission(UsbDevice var1);

    void connectDevice(UsbDevice var1);

    void closeDevice();

    void openCamera();

    void closeCamera();

    void setPreviewSurface(SurfaceView var1);

    void setPreviewTexture(TextureView var1);

    void setPreviewRotation(float var1);

    void setPreviewDisplay(Surface var1);

    void setPreviewSize(int var1, int var2);

    Size getPreviewSize();

    List<Size> getSupportedPreviewSizes();

    void startPreview();

    void stopPreview();

    void takePicture();

    void takePicture(String var1);

    void setConnectCallback(ConnectCallback var1);

    void setPreviewCallback(PreviewCallback var1);

    void setPhotographCallback(PhotographCallback var1);

    void setPictureTakenCallback(PictureCallback var1);

    UVCCamera getUVCCamera();

    boolean isCameraOpen();

    CameraConfig getConfig();

    void clearCache();
}
